package com.self.shortlink.admin.service.dto;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.self.shortlink.admin.remote.dto.resp.ShortLinkStatsAccessRecordRespDTO;
import com.self.shortlink.admin.remote.dto.resp.ShortLinkStatsRespDTO;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class AggregatedStatsRespDTO {
    private ShortLinkStatsRespDTO overview; // 汇总：pv/uv/uip
    private List<Map<String, Object>> dailySeries; // 日期维度曲线（date,pv,uv,uip）
    private List<Map<String, Object>> hourSeries;  // 小时分布（hour,pv）
    private List<Map<String, Object>> provinceStats; // 省份分布（province,cnt）
    private List<Map<String, Object>> browserStats;  // 浏览器分布（browser,count）
    private List<Map<String, Object>> osStats;       // 系统分布（os,count）
    private List<Map<String, Object>> deviceStats;   // 设备分布（device,cnt）
    private List<Map<String, Object>> networkStats;  // 网络分布（network,cnt）
    private List<Map<String, Object>> topIp;         // TOP IP（ip,count）
    private Map<String, Integer> uvTypeSummary;      // 新/老访客统计
    private Page<ShortLinkStatsAccessRecordRespDTO> accessRecordPage; // 访问记录分页
    private boolean partial; // 是否为部分成功（有分支超时/失败）
}





